package itheima05;

import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import utils.C3P0Util;

import java.sql.SQLException;

/*

    核心类QueryRunner

    有参构造:
        public QueryRunner(DataSource ds) : 创建对象,必须传递连接池对象
            既然创建QueryRunner对象时,传递了连接池对象,它就可以从连接池中获取连接,用完后,返还连接池
            所以该对象调用方法,执行增删改查时,不用传Connection连接对象

        执行增删改的方法:
        public int	update(String sql, Object... params)
            参数:
                    1.String sql: sql语句,参数用?代替
                    2.Object... params: 可变参数,传递参数列表,数组,不传参  作用: 给sql中?进行赋值的

     步骤:
        1.有参创建QueryRunner对象,传递数据源/连接池对象
        2.QueryRunner对象调用update方法,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        3.处理结果

        自己写: 增,修改
 */
/*public class Demo07DBUtils {
    //根据uid,删除一条记录
    @Test
    public void deleteOne() throws SQLException {
        //1.有参创建QueryRunner对象,传递数据源/连接池对象
        QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

        //2.QueryRunner对象调用update方法,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        int result = qr.update("delete from users where uid=?", "u005");

        //3.处理结果
        if(result>0) {
            System.out.println("删除一条记录成功");
        } else {
            System.out.println("删除一条记录失败");
        }
    }
}*/

public class Demo07DBUtils{
    @Test
    public void deleteOne() throws SQLException {
        //1.有参创建QueryRunner对象,传递数据源/连接池对象
        QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource());
        //2.QueryRunner对象调用update方法,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果

        int result= queryRunner.update("delete from users where uid=?","u005");
        //处理结果
        if (result>0){
            System.out.println("删除一条记录成功");
        }else {
            System.out.println("删除一条记录失败");
        }

    }


}